package com.xtm.exercise.utils;

import java.math.BigInteger;
import java.security.MessageDigest;

public class MD5Utils {
	/**
	 * 获得md5加密后的数据
	 * @param value 明文
	 * @return 密文
	 */
	public static String encrypt(String value){

		try {
			//1 获得jdk提供消息摘要算法工具类
			MessageDigest messageDigest = MessageDigest.getInstance("MD5");
			//2 加密的结果10进制
			byte[] md5ValueByteArray = messageDigest.digest(value.getBytes());
			//3将10进制 转换16进制
//			System.out.println(Arrays.toString(md5ValueByteArray));
			BigInteger bigInteger = new BigInteger(1 , md5ValueByteArray);


			return bigInteger.toString(16);
		} catch (Exception e) {
			throw new RuntimeException(e);
			//如果出现了异常，将默认值
			//return value;
		}
	}

	/**
	 * 测试 Test  将"1234"进行MD5加密
	 */
	public static void main(String[] args) {
		//方式一
		System.out.println("MD5:"+encrypt("1234"));//运行后  81dc9bdb52d04dc20036dbd8313ed055
	}
}
